Provisioning power to a large number of distributed compute elements in large-scale computing infrastructures such as data centers, grids, clouds, containers, etc. is often a challenging problem. Typically, a fixed power budget or amount is distributed using a static wiring and power backup infrastructure to multiple power consuming elements including computer servers, storage appliances, and network devices, etc. (together referred to be referred to as compute elements). The power consumption of these elements is not static and often changes with dynamic workloads or data access patterns of the user applications executed on these elements. A problem that arises due to these changes is that the static power distribution infrastructure may not readily be able to re-distribute power to the elements that need it even when excess capacity exists for other elements. Currently, to keep the system working during such changes, a significant amount of excess power capacity is supplied to each different part of the system so that dynamic demand variations in each part can be accommodated. Consequently, power may be under-utilized in one part of the power supply system while at the same time power may be insufficient in another part of the power supply system.
Techniques related to dynamic power management are discussed below.